package net.app.zoneland.platform.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import net.app.zoneland.common.core.vo.Result;
import net.app.zoneland.domain.SysMenu;
import net.app.zoneland.domain.SysUser;
import net.app.zoneland.vo.MenuTreeVo;
import net.app.zoneland.vo.MenuVO;
import net.app.zoneland.vo.TreeSelectVO;

import java.util.List;

/**
 * @Description 菜单接口
 * @Author cjb
 * @CreateTime 2020/12/26 12:55
 * @Version: 1.0
 */
public interface ISysMenuService extends IService<SysMenu> {

    List<MenuVO> listForTableData(LambdaQueryWrapper<SysMenu> baseQuery);

    List<TreeSelectVO> listForTreeSelect(LambdaQueryWrapper<SysMenu> baseQuery);

    List<TreeSelectVO> listForTreeSelectByRole(SysMenu baseQuery);

    List listForRouter();

    List<MenuVO> queryMenus(String username);

    Result saveOrUp(MenuTreeVo menu);

    List<SysMenu> queryMenus(Integer id);

    IPage<SysMenu> list(Page<SysMenu> page, SysMenu menu);

    List<MenuTreeVo> getMenus(SysMenu menu);

    void deleteByIds(Integer id);

}
